package com.itheima.dao.impl;

import com.itheima.controller.BaseServlet;
import com.itheima.dao.UserDao;
import com.itheima.domain.User;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
/*
    持久层实现类
 */
public class UserDaoImpl implements UserDao {
    @Override
    //重写UserDao接口的login方法
    public User login(String username, String pwd,String realPath) {
        ArrayList<User> list = new ArrayList<>();
        //获取资源路径

        File file = new File(realPath);
        //创建字符缓冲输入流
        BufferedReader br =null;
        try {
            //将获取到的资源路径给字符缓冲输入流
            br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
            //定义一个String类型的变量来接收读到的数据
            String line;
            //循环读取一行数据
            while ((line = br.readLine()) != null) {
                //将读取到的数据通过,切割得到一个数组
                String[] arr = line.split(",");
                //创建用户对象
                User user = new User();
                //给用户对象赋值
                user.setUsername(arr[0]);
                user.setPwd(arr[1]);
                //将用户对象添加到集合中
                list.add(user);
            }
        } catch (Exception e) {
            //异常处理
            e.printStackTrace();
        }finally {
            if(br != null){
                try {
                    //关闭资源
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            //判断网页中的用户名密码在本地文件中是否存在
            //存在
            if(list.get(i).getUsername().equals(username)&&list.get(i).getPwd().equals(pwd)){
                //返回该对象
                return list.get(i);
            }
        }
        //不存在返回null
        return null;
    }
}
